home *** CD-ROM | disk | FTP | other *** search
/ Nautilus 1992 July / Nautilus-3-8 / Nautilus-3-8.bin / Tools & Utilities / Techy Stuff / Source ƒ / sky source ƒ / STAR.C < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-16  |  2.1 KB  |  94 lines

  1. #include "sky.h"
  2.  
  3. star()
  4. {
  5.     double capt0, capt1, capt12, capt13;
  6.     double sl, sb, cl;
  7.     double zt, zee, tht;
  8.     double sa, ca, sd;
  9.  
  10.     capt0 = epoch/36524.220;
  11.     capt1 = (eday - epoch)/36524.220;
  12.     capt12 = capt1*capt1;
  13.     capt13 = capt12*capt1;
  14.  
  15.     da = da*radsec*15.*100.;
  16.     dd = dd*radsec*100.;
  17.  
  18. /*
  19.  *    remove E-terms of aberration
  20.  *    except when finding catalog mean places
  21.  *    See Exp. Supp. p. 144 and 48
  22.  *
  23.  *    I have omitted an unimportant time dependence which depends
  24.  *    in essence on the change in the eccentricity
  25.  *    and the perihelion position of the earths orbit.
  26.  */
  27.  
  28.     alpha = alpha + .341*radsec*sin(alpha+168.8*radian)
  29.       /cos(delta);
  30.     delta = delta + .341*radsec*cos(alpha+168.8*radian)
  31.       *sin(delta) + .029*radsec*cos(delta);
  32.  
  33. /*
  34.  *    Correct for proper motion.
  35.  *
  36.  *    This computation is a second order approximation which
  37.  *    causes no perciptible error in a millenium.
  38.  */
  39.  
  40.     alpha = alpha + capt1*da
  41.      + da*dd*sin(delta)/cos(delta)*capt1*capt1;
  42.     delta = delta + capt1*dd
  43.      - 0.25*da*da*sin(2.*delta)*capt1*capt1;
  44.  
  45. /*
  46.  *    The effect of radial velocity has been omitted.
  47.  *    The only bright stars perceptibly affected are
  48.  *    Sirius, alpha Cent, and Altair.
  49.  */
  50.  
  51. /*
  52.  *    convert mean places at epoch of startable to current
  53.  *    epoch (i.e. compute relevant precession)
  54.  *    Coefficients are from Exp. Supp. p. 30.
  55.  */
  56.  
  57.     zt = (2304.250 + 1.396*capt0)*capt1 + 0.302*capt12
  58.      + 0.018*capt13;
  59.     zee = zt + 0.791*capt12;
  60.     tht = (2004.682 - 0.853*capt0)*capt1 - 0.426*capt12
  61.      - 0.042*capt13;
  62.  
  63.     zt = zt*radsec;
  64.     zee = zee*radsec;
  65.     tht = tht*radsec;
  66.  
  67.     sa = cos(delta)*sin(alpha+zt);
  68.     ca = cos(tht)*cos(delta)*cos(alpha+zt) - sin(tht)*sin(delta);
  69.     sd = cos(tht)*sin(delta) + sin(tht)*cos(delta)*cos(alpha+zt);
  70.  
  71.     alpha = atan2(sa,ca) + zee;
  72.     delta = atan2(sd, sqrt(sa*sa+ca*ca));
  73.  
  74. /*
  75.  *    convert to mean ecliptic system of date
  76.  */
  77.  
  78.     cl = cos(delta)*cos(alpha);
  79.     sl = cos(delta)*sin(alpha)*cos(obliq) + sin(delta)*sin(obliq);
  80.     sb = -cos(delta)*sin(alpha)*sin(obliq) + sin(delta)*cos(obliq);
  81.     lambda = atan2(sl,cl);
  82.     beta = atan2(sb,sqrt(cl*cl+sl*sl));
  83.     if(px > 1.0) px = 0.;
  84.     if(px != 0.) rad = 1./(radsec*px);
  85.     if(px <= 0.) rad = 1.e9;
  86.     semi = 0.;
  87.     ldot = 0.;
  88.     bdot = 0.;
  89.     rdot = 0.;
  90.  
  91.     helio();
  92.     geo();
  93. }
  94.